package apis.amapv2.com.io.activity;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import java.io.FileInputStream;

import apis.amapv2.com.io.R;

public class FileInputStream1Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_file_input_stream1);

        //❤注意❤
        //1、这个读取字节的例子没有办法进行验证。
        //2、所以写了两个方法用来学习这个字节输入流
        //3、注意字节输入流的打印结果。
    }


    /**
     * 一个一个遍历
     * @throws Exception
     */
    public void test1() throws Exception{
        //创建流对象//xxx.txt中的内容为abcdefg，插到这个文件上了。
        FileInputStream fis = new FileInputStream("xxx.txt"); //创建流对象
        int x = fis.read();//从硬盘上读取一个字节
        //第一次读到了a，a在硬盘上存储的时候都是二进制的形式，用ASCII码表一一对应，所以在硬盘上存储的是
        //97的二进制形式。
        //当读到结尾的时候，fis.read()值为-1  所以-1为文件的结束标记
        System.out.println(x); //97
        int y = fis.read();
        System.out.println(y); //98
        int z = fis.read();
        System.out.println(z); //99
        int a = fis.read();
        System.out.println(a);  //100
        int b = fis.read();
        System.out.println(b);  //101
        fis.close(); //关流释放资源
    }

    /**
     * 循环遍历读
     */
    public void test2() throws Exception{
        //创建流对象
        FileInputStream fis = new FileInputStream("xxx.txt");
        //字节读出来以后，用int类型接受
        int b;
        //fis.read()  === -1为结束的条件
        while((b = fis.read()) != -1) {
            System.out.println(b);
        }
        //关闭流
        fis.close();
    }


}
